{
  "$schema" : "http://json-schema.org/draft/2019-09/schema#",
  "title" : "SIM Profiles Response",
  "type" : "object",
  "additionalProperties" : false,
  "properties" : {
    "interfaceCategory" : {
      "type" : "string",
      "enum" : [ "Number Management" ],
      "description" : "CMP categorisation of the job associated with this file"
    },
    "interfaceType" : {
      "type" : "string",
      "enum" : [ "SIM Profiles" ],
      "description" : "Sub-categorisation of the job"
    },
    "version" : {
      "type" : "number",
      "minimum" : 0.0,
      "maximum" : 99.99,
      "description" : "The current version of the generic extract file. This must match the corresponding outbound file."
    },
    "externalFileName" : {
      "type" : "string",
      "pattern" : "^([a-zA-Z0-9._-])+$",
      "maxLength" : 100,
      "description" : "Third party file name"
    },
    "transformDateTime" : {
      "type" : "string",
      "format" : "date-time",
      "description" : "Indicates when a third-party file was transformed into the format required by CMP"
    },
    "transmitDateTime" : {
      "type" : "string",
      "format" : "date-time",
      "description" : "Indicates when a file was sent to or received from a third-party system"
    },
    "networkCode" : {
      "type" : "string",
      "maxLength" : 6,
      "description" : "The network code"
    },
    "networkType" : {
      "type" : "string",
      "maxLength" : 6,
      "description" : "The network type"
    },
    "idNumber" : {
      "type" : "integer",
      "minimum" : 1,
      "maximum" : 5,
      "description" : "The id number"
    },
    "networkOperator" : {
      "type" : "string",
      "maxLength" : 6,
      "description" : "The network operator"
    },
    "iccids" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/ICCID"
      },
      "description" : "A response consists of one or more iccids."
    }
  },
  "required" : [ "interfaceCategory", "interfaceType", "version", "externalFileName", "networkCode", "idNumber" ],
  "definitions" : {
    "ICCID" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "iccid" : {
          "type" : "string",
          "maxLength" : 20,
          "description" : "This represents the Integrated Circuit Card ID. This is the identifier of the actual SIM card itself"
        },
        "pin1" : {
          "type" : "string",
          "maxLength" : 4,
          "description" : "Primary Personal Identification number associated with the SIM"
        },
        "pin2" : {
          "type" : "string",
          "maxLength" : 4,
          "description" : "Secondary Personal Identification number associated with the SIM"
        },
        "puk1" : {
          "type" : "string",
          "maxLength" : 8,
          "description" : "Primary Personal Unlock Key associated with the SIM card"
        },
        "puk2" : {
          "type" : "string",
          "maxLength" : 8,
          "description" : "Secondary Personal Unlock Key associated with the SIM card"
        },
        "eid" : {
          "type" : "string",
          "maxLength" : 32,
          "description" : "eid"
        },
        "mno" : {
          "type" : "string",
          "maxLength" : 50,
          "description" : "Profile of the Mobile Network Operator"
        },
        "adm1" : {
          "type" : "string",
          "maxLength" : 8,
          "description" : "Key that will unlock your password/pin-encrypted phone if you have by any chance forgotten the passcode"
        },
        "msisdn" : {
          "type" : "string",
          "maxLength" : 25,
          "description" : "Mobile phone number that has been paired with the SIM"
        },
        "formFactor" : {
          "type" : "string",
          "maxLength" : 15,
          "enum" : [ "FULLID1", "MINIPLUGIN", "MICROMINI", "NANO4FF", "EMBEDDEDMFF2", "INTEGRATED" ],
          "description" : "The form factor of a mobile phone is its size, shape, and style, as well as the layout and position of its major components"
        },
        "profileAttributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ProfileAttributes"
          },
          "description" : "Allows for storage of attributes relating to a SIM"
        },
        "imsis" : {
          "type" : "array",
          "minItems" : 1,
          "items" : {
            "$ref" : "#/definitions/IMSI"
          },
          "description" : "List of IMSI associated with this SIM"
        }
      },
      "required" : [ "iccid", "pin1", "pin2", "puk1", "puk2", "imsis" ]
    },
    "ProfileAttributes" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "attributeKey" : {
          "type" : "string",
          "maxLength" : 30,
          "description" : "Unique identifier of the sim profile attribute"
        },
        "attributeValue" : {
          "type" : "string",
          "maxLength" : 50,
          "description" : "Value of the sim profile attribute"
        }
      },
      "required" : [ "attributeKey", "attributeValue" ]
    },
    "IMSI" : {
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "imsi" : {
          "type" : "string",
          "maxLength" : 15,
          "description" : " International Mobile Subscriber Identity. This is a unique identifier that defines a subscriber in the wireless world, including the country and mobile network to which the subscriber belongs"
        },
        "hlrId" : {
          "type" : "string",
          "maxLength" : 1,
          "description" : "The Home Location Register is the main database of permanent subscriber information for a mobile network"
        }
      },
      "required" : [ "imsi" ]
    }
  }
}